package model;

import java.io.Serializable;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.List;


/**
 * The persistent class for the CUENTA database table.
 * 
 */
@Entity
@NamedQuery(name="Cuenta.findAll", query="SELECT c FROM Cuenta c")
public class Cuenta implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="CTA_ID")
	private String ctaId;

	@Column(name="CTA_ESTADO")
	private String ctaEstado;

	@Column(name="CTA_SALDO")
	private BigDecimal ctaSaldo;

	@Column(name="CTA_TIPO")
	private String ctaTipo;

	@Column(name="USR_ULTIMA_MODIFICACION")
	private String usrUltimaModificacion;

	//bi-directional many-to-one association to Cliente
	@ManyToOne
	@JoinColumn(name="CTA_PROPIETARIO")
	private Cliente cliente;

	//bi-directional many-to-one association to Transaccione
	@OneToMany(mappedBy="cuenta")
	private List<Transaccion> transacciones;

	public Cuenta() {
	}

	public String getCtaId() {
		return this.ctaId;
	}

	public void setCtaId(String ctaId) {
		this.ctaId = ctaId;
	}

	public String getCtaEstado() {
		return this.ctaEstado;
	}

	public void setCtaEstado(String ctaEstado) {
		this.ctaEstado = ctaEstado;
	}

	public BigDecimal getCtaSaldo() {
		return this.ctaSaldo;
	}

	public void setCtaSaldo(BigDecimal ctaSaldo) {
		this.ctaSaldo = ctaSaldo;
	}

	public String getCtaTipo() {
		return this.ctaTipo;
	}

	public void setCtaTipo(String ctaTipo) {
		this.ctaTipo = ctaTipo;
	}

	public String getUsrUltimaModificacion() {
		return this.usrUltimaModificacion;
	}

	public void setUsrUltimaModificacion(String usrUltimaModificacion) {
		this.usrUltimaModificacion = usrUltimaModificacion;
	}

	public Cliente getCliente() {
		return this.cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public List<Transaccion> getTransacciones() {
		return this.transacciones;
	}

	public void setTransacciones(List<Transaccion> transacciones) {
		this.transacciones = transacciones;
	}

	public Transaccion addTransaccione(Transaccion transaccione) {
		getTransacciones().add(transaccione);
		transaccione.setCuenta(this);

		return transaccione;
	}

	public Transaccion removeTransaccione(Transaccion transaccione) {
		getTransacciones().remove(transaccione);
		transaccione.setCuenta(null);

		return transaccione;
	}

}